04-HTTPS동작확인
HTTPS 동작 확인
목표
SSL 인증서 적용 후 전체 시스템이 정상 동작하는지 검증하고, Week3.5 고가용성 구축을 위한 준비를 완료합니다.
완성된 아키텍처
현재 구조 (00단계 완료 후)
사용자 → Route 53 → Apache HTTPS → Tomcat → RDS
도메인 Web서버 WAS서버
특징:
- 프로덕션급 도메인 접속
- HTTPS 보안 통신
- 3-Tier 아키텍처 동작
- 자동 SSL 인증서 갱신
1단계: 기본 접속 테스트
HTTPS 접속 확인
루트 도메인 테스트:
https://yourdomain.com/webapp/
www 서브도메인 테스트:
https://www.yourdomain.com/webapp/
예상 결과:
- JSP 기반 웹 애플리케이션 정상 표시
- 사용자 등록/조회 기능 동작
- 브라우저 주소창에 자물쇠 아이콘 표시
HTTP 리다이렉트 확인
자동 리다이렉트 테스트:
http://yourdomain.com/webapp/
→ https://yourdomain.com/webapp/ (자동 전환)
http://www.yourdomain.com/webapp/
→ https://www.yourdomain.com/webapp/ (자동 전환)
리다이렉트 상태 코드 확인:
# 명령어로 리다이렉트 확인
curl -I http://yourdomain.com/webapp/
# 예상 결과: HTTP/1.1 301 Moved Permanently
# Location: https://yourdomain.com/webapp/
2단계: SSL 인증서 검증
브라우저에서 인증서 확인
- 브라우저 주소창 자물쇠 아이콘 클릭
- 인증서 보기 선택
- 확인 항목:
- 발급자: Let's Encrypt Authority
- 주체: yourdomain.com
- 유효기간: 약 90일 (발급일로부터)
- SAN (Subject Alternative Names): yourdomain.com, www.yourdomain.com
SSL 보안 등급 테스트
SSL Labs 보안 테스트:
- https://www.ssllabs.com/ssltest/ 접속
- 도메인 입력:
yourdomain.com - Submit 클릭
- 테스트 완료까지 2-3분 대기
목표 등급:
- Overall Rating: A 또는 A+
- Certificate: T (Trust)
- Protocol Support: 95점 이상
- Key Exchange: 90점 이상
명령어로 SSL 확인
# SSL 연결 테스트
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com
# 인증서 체인 확인
openssl s_client -connect yourdomain.com:443 -showcerts
# SSL 핸드셰이크 테스트
curl -I https://yourdomain.com/webapp/
3단계: 애플리케이션 기능 테스트
전체 시스템 동작 확인
웹 애플리케이션 테스트 시나리오:
-
메인 페이지 접속
https://yourdomain.com/webapp/- JSP 페이지 정상 렌더링 확인
- CSS/JavaScript 정상 로드 확인
-
사용자 등록 기능
- 새로운 사용자 정보 입력
- 데이터베이스 저장 확인
-
사용자 조회 기능
- 등록된 사용자 목록 표시
- 데이터베이스 조회 확인
Apache → Tomcat 프록시 확인
Web 서버에서 프록시 동작 점검:
# Web 서버 접속
ssh -i webapp-keypair.pem ec2-user@Web서버-Public-IP
# Apache 액세스 로그 확인
sudo tail -f /var/log/httpd/yourdomain_access.log
# 별도 터미널에서 웹사이트 접속하여 로그 확인
정상 로그 예시:
192.168.1.100 - - [09/Sep/2025:10:30:45 +0000] "GET /webapp/ HTTP/1.1" 200 1024
192.168.1.100 - - [09/Sep/2025:10:30:46 +0000] "GET /webapp/style.css HTTP/1.1" 200 512
Tomcat → RDS 연결 확인
WAS 서버에서 데이터베이스 연결 점검:
# Web 서버에서 WAS 서버로 점프 접속
ssh ec2-user@WAS서버-Private-IP
# Tomcat 로그 확인
sudo tail -f /opt/tomcat/logs/catalina.out
# 별도 터미널에서 데이터베이스 관련 기능 테스트
4단계: 성능 및 안정성 테스트
응답 시간 측정
# 명령어로 응답 시간 확인
curl -w "Time: %{time_total}s\n" -o /dev/null -s https://yourdomain.com/webapp/
# 여러 번 테스트하여 평균 응답 시간 확인
for i in {1..10}; do
curl -w "Request $i: %{time_total}s\n" -o /dev/null -s https://yourdomain.com/webapp/
done
목표 응답 시간:
- 첫 페이지 로드: 2초 이내
- 후속 페이지 로드: 1초 이내
동시 접속 테스트
# 간단한 부하 테스트 (10개 동시 요청)
for i in {1..10}; do
curl -o /dev/null -s https://yourdomain.com/webapp/ &
done
wait
# 모든 요청이 정상 처리되는지 확인
SSL 핸드셰이크 성능
# SSL 핸드셰이크 시간 측정
curl -w "SSL Handshake: %{time_appconnect}s\nTotal: %{time_total}s\n" \
-o /dev/null -s https://yourdomain.com/webapp/
5단계: Week3.5 준비 상태 점검
현재 시스템 정보 기록
Web 서버 정보:
- 인스턴스 ID:
i-xxxxxxxxx - Public IP:
x.x.x.x - Private IP:
10.0.1.x - SSL 인증서: Let's Encrypt (90일 유효)
WAS 서버 정보:
- 인스턴스 ID:
i-yyyyyyyyy - Private IP:
10.0.2.x - Tomcat 포트: 8080
도메인 설정:
- DNS: Route 53 A 레코드 → Web서버-IP
- SSL: Apache Let's Encrypt
- 접속 주소:
https://yourdomain.com/webapp/
Week3.5 전환 시 변경사항 예고
ALB 구축 후 변경될 구조:
현재: 사용자 → Route 53 → Apache HTTPS → Tomcat
변경: 사용자 → Route 53 → ALB HTTPS → Apache HTTP → Tomcat
주요 변경사항:
- DNS 변경: Route 53에서 Web서버-IP → ALB-DNS로 변경
- SSL 종료점 변경: Apache → ALB로 이동
- Apache 설정: HTTPS → HTTP 전용으로 변경
- 인증서 관리: Let's Encrypt → Certificate Manager
완료 체크리스트
기본 접속 확인
SSL 인증서 검증
애플리케이션 기능
성능 및 안정성
Week3.5 준비
문제 해결
HTTPS 접속 문제
일반적인 해결방법:
-
DNS 캐시 삭제
# Windows ipconfig /flushdns # Mac sudo dscacheutil -flushcache -
브라우저 캐시 삭제
- Ctrl+Shift+Delete
- 시크릿/프라이빗 모드 사용
-
Apache 재시작
sudo systemctl restart httpd
SSL 인증서 문제
갱신 테스트:
# 수동 갱신 테스트
sudo certbot renew --dry-run
# 실제 갱신 (30일 이내 만료시만)
sudo certbot renew
애플리케이션 동작 문제
로그 확인 순서:
- Apache 에러 로그:
/var/log/httpd/error_log - Apache 도메인 로그:
/var/log/httpd/yourdomain_error.log - Tomcat 로그:
/opt/tomcat/logs/catalina.out
마무리
달성된 성과
Week1 + Week3 통합:
- 도메인 기반 웹 서비스 구축
- HTTPS 보안 통신 적용
- 3-Tier 아키텍처 구현
프로덕션 준비:
- 실제 도메인으로 서비스 제공
- SSL 인증서 자동 갱신
- 보안 강화된 웹 애플리케이션
다음 단계 예고
Week3.5에서 추가될 기능:
- Application Load Balancer (고가용성)
- Multi-AZ 배치 (장애 대응)
- Auto Scaling (자동 확장)
- Certificate Manager (관리형 SSL)
도메인 연결 및 SSL 적용 완료
Week1의 도메인과 Week3의 웹 애플리케이션이 성공적으로 통합되어 프로덕션급 HTTPS 웹 서비스가 완성되었습니다.
Week3.5 고가용성 구축 진행: AWS EDU/Archive/조선대학교 AWS 멘토링/Week3.5-HA-Scalable-WebService/01-Multi-AZ-네트워크확장/01-가용영역이해및설계
관련 문서: AWS EDU/Archive/조선대학교 AWS 멘토링/Week3.5-HA-Scalable-WebService/00-도메인연결및SSL적용(선택)/03-SSL인증서적용, AWS EDU/Archive/조선대학교 AWS 멘토링/Week3.5-HA-Scalable-WebService/README, AWS EDU/Archive/조선대학교 AWS 멘토링/Week3.5-HA-Scalable-WebService/01-Multi-AZ-네트워크확장/01-가용영역이해및설계